package com.arpa.wms.domain.dto;

import com.arpa.wms.domain.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 收货DTO
 * </p>
 *
 * @author LEO
 * @since 2020-08-04
 */
@Data
@ApiModel(value="ReceiveDTO对象", description="收货")
public class ReceiveDTO extends BasicEntity {


    @ApiModelProperty(value = "收货单号")
    private String code;

    @ApiModelProperty(value = "来源单号")
    private String sourceCode;

    @ApiModelProperty(value = "仓库")
    private String warehouseCode;

    @ApiModelProperty(value = "入驻商")
    private String shipmentCode;


    @ApiModelProperty(value = "登录仓库授权该账号的货主集合")
    private List<String> shipmentCodes;

    @ApiModelProperty(value = "授权该账号的仓库集合")
    private List<String> warehouseCodes;

    @ApiModelProperty(value = "入驻商")
    private String shipmentName;

    @ApiModelProperty(value = "所属机构Code")
    private String groupCode;

    @ApiModelProperty(value = "单据类型")
    private String type;

    @ApiModelProperty(value = "供应商")
    private String supplierCode;

    @ApiModelProperty(value = "客户")
    private String customerCode;

    @ApiModelProperty(value = "计划到货日期")
    private LocalDate gmtPlanArrival;

    @ApiModelProperty(value = "计划到货日期start")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtPlanArrivalStart;

    @ApiModelProperty(value = "计划到货日期end")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtPlanArrivalEnd;

    @ApiModelProperty(value = "总数量")
    private BigDecimal totalQuantity;

    @ApiModelProperty(value = "总数量start")
    private BigDecimal totalQuantityStart;

    @ApiModelProperty(value = "总数量end")
    private BigDecimal totalQuantityEnd;

    @ApiModelProperty(value = "收货数量")
    private BigDecimal receivedQuantity;

    @ApiModelProperty(value = "收货数量start")
    private BigDecimal receivedQuantityStart;

    @ApiModelProperty(value = "收货数量end")
    private BigDecimal receivedQuantityEnd;

    @ApiModelProperty(value = "上架数量")
    private BigDecimal putawayQuantity;

    @ApiModelProperty(value = "上架数量start")
    private BigDecimal putawayQuantityStart;

    @ApiModelProperty(value = "上架数量end")
    private BigDecimal putawayQuantityEnd;

    @ApiModelProperty(value = "状态")
    private String status;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "下发状态:0未下发，1已下发；")
    private Integer issue;

    @ApiModelProperty(value = "原出库单号(ERP分配)")
    private String preDeliveryOrderCode;

    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;

    @ApiModelProperty(value = "面单号")
    private String waybillCode;


}
